A Functional Methodology for Parallel Image Processing Development
نویسندگان
چکیده
ion abstraction parallelisation translation translation translation system transformation user transformation third party transformation A L application in language L HL harness in language L Figure 1. intermediate ML development ML software to C++ (this stage has not yet been automated, though previous work shows it is possible [5]), and this is done at the end of the development cycle. Translating at the earlier stage is pure sequential ML prototyping, though it is then also possible to parallelise within C++ using the proposed method by interfacing to the harness C++ API which is the same as the ML API. For C++ coders, the method introduces a new module, but one providing flexibility and composability, deriving from the functional way it was conceived. 3 SIMPLE EXAMPLE Before introducing the application under discussion, it is useful to illustrate the functional style by the tractable and complete expression of a convolution algorithm. fun convolve2D (src, filter) = let (* get sizes of src image and filter *) val (sh,sw) = dimensions src; val (fh,fw) = dimensions filter; (* produces a single element of convolution matrix *) fun single_convolve (r0,c0) = let (* multiply corresponding filter and src elements *) (* offset into src is (r0,c0) *) val product = tabulate (fh,fw,fn(i,j) => sub(src,i+r0,j+c0) * sub(filter,i,j) ); in (* add together elements of product matrix *) (* reduction/fold operation is add *) fold ( fn (a,b) => a + b ) 0.0 product; end; in (* result is size of src minus size of filter *) tabulate ( (sh-fh)+1, (sw-fw)+1, single_convolve ); end;
منابع مشابه
A Novel Multiply-Accumulator Unit Bus Encoding Architecture for Image Processing Applications
In the CMOS circuit power dissipation is a major concern for VLSI functional units. With shrinking feature size, increased frequency and power dissipation on the data bus have become the most important factor compared to other parts of the functional units. One of the most important functional units in any processor is the Multiply-Accumulator unit (MAC). The current work focuses on the develop...
متن کاملHigh Performance Implementation of Fuzzy C-Means and Watershed Algorithms for MRI Segmentation
Image segmentation is one of the most common steps in digital image processing. The area many image segmentation algorithms (e.g., thresholding, edge detection, and region growing) employed for classifying a digital image into different segments. In this connection, finding a suitable algorithm for medical image segmentation is a challenging task due to mainly the noise, low contrast, and steep...
متن کاملHigh Performance Implementation of Fuzzy C-Means and Watershed Algorithms for MRI Segmentation
Image segmentation is one of the most common steps in digital image processing. The area many image segmentation algorithms (e.g., thresholding, edge detection, and region growing) employed for classifying a digital image into different segments. In this connection, finding a suitable algorithm for medical image segmentation is a challenging task due to mainly the noise, low contrast, and steep...
متن کاملModel-Based Application Development for Massively Parallel Embedded Systems
The development of embedded systems in information-rich contexts is governed by some intertwined trends. The increase of both volume of data to be processed and the related processing functionality feeds the growing complexity of applications. Independently, the processing hardware that is needed to process these applications, is becoming increasingly parallel and heterogeneous (many-core) beca...
متن کاملMotivation and Design Methodology for the Development of a Massively Parallel SIMD Architecture
An SIMD massively parallel computer has to compete with workstations and parallel systems based on off-the-shelf microprocessor. This report motivate the choice for the development of a SIMD massively parallel architecture for image processing focusing on the constraints under which the architecture can succesfully compete with available sequential systems. The correct design methodology is als...
متن کاملProcessing Digital Image for Measurement of Crack Dimensions in Concrete
The elements of the concrete structure are most frequently affected by cracking. Crack detection is essential to ensure safety and performance during its service life. Cracks do not have a regular shape, in order to achieve the exact dimensions of the crack; the general mathematical formulae are by no means applicable. The authors have proposed a new method which aims to measure the crack dimen...
متن کامل